﻿<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/SiteUTF8.master" Inherits="System.Web.Mvc.ViewPage<web_uchet.Reports.OLAP.OLAPSettings>" %>
<%@ Import Namespace="web_uchet.Reports.OLAP"%>
<%@ Import Namespace="web_uchet.Security"%>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
	OLAP-анализ
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<% IUserOperationsProvider UserOperationsProvider = ViewData["UserOperationProvider"] as IUserOperationsProvider; %>
<% ProgramContext MData = ViewData["Master"] as ProgramContext;%>
    <h1 class="contentheader">OLAP-анализ</h1>    
    <div class="olap-content-container">
    <% using (Html.BeginForm("OlapPrint", "Report", FormMethod.Post, new {@id="form-olap" }))
       { %>
        <div class="olap-content-filter">
            <table>
            <tr>
                <td>
                <table style="float:left;">
                <tr>
                    <td>
                    <label>Дата с </label><%=Html.TextBox("FilterDateStart", Model.FilterDateStart, new { @id = "FilterDateStart", @class = "input-box" })%>
                    <label> по </label><%=Html.TextBox("FilterDateEnd", Model.FilterDateEnd, new { @id = "FilterDateEnd", @class = "input-box" })%>
                    </td>
                </tr>
                <tr>
                    <td>
                    <label>Кол-во заказов: </label><%=Html.DropDownList("Фильтр.Колличество_Заказов_Условие", Model.GetConditionList(Model.Фильтр.Колличество_Заказов_Условие))%>
                    &nbsp<%=Html.TextBox("Фильтр.Колличество_Заказов", Model.Фильтр.Колличество_Заказов, new { @class = "input-box", style = "width:80px;" })%>
                </td>
                </tr>
                <tr>
                    <td>
                    <label>Продажи:
                    </label><%=Html.DropDownList("Фильтр.Продажи_Условие", Model.GetConditionList(Model.Фильтр.Продажи_Условие))%>
                    &nbsp<%=Html.TextBox("Фильтр.Продажи", Model.Фильтр.Продажи, new { @class = "input-box", style = "width:80px;" })%>
                </td>             
                </tr>
                </table>
                <table style="float:left;">
                    <tr>
                         <td>
                             <label>Сотрудник:</label>
                         </td>
                         <td>
                             <%=Html.DropDownList("Фильтр.ИД_Сотрудника",
                            UserOperationsProvider.GetCompanysEmployees(MData.CompanyID, Model.Фильтр.ИД_Сотрудника), "Не выбрано")%>
                        </td>
                    </tr>
                    <tr>
                         <td>
                            <label>Клиент:</label>
                         </td>
                         <td>
                            <%=Html.DropDownList("Фильтр.ИД_Клиента",
                            UserOperationsProvider.GetUserCompanysClients(MData.CompanyID, Model.Фильтр.ИД_Клиента), "Не выбрано")%>
                         </td>
                    </tr>                    
                    <tr>
                         <td>
                            <label>Рабочее место: </label>
                         </td>
                         <td>
                            <%=Html.DropDownList("Фильтр.ИД_РабочееМесто",
                            UserOperationsProvider.GetCurrentCompanyWorkPlacesList(Model.Фильтр.ИД_РабочееМесто), "Не выбрано")%>
                        </td>
                    </tr>
                </table>
                </td>
            </tr>
            </table>
        </div>  
        <div class="olap-content-left">        
            <ul id="ul-settings-val" class="treeview-black val">
                <li><img src="/Content/images/val.bmp" /> Показатели
                    <ul>
                        <li><%=Html.CheckBox("Кол_во_Заказов", Model.Кол_во_Заказов)%><label for="Показатели">Кол-во заказов</label></li>
                        <li><%=Html.CheckBox("Продажи", Model.Продажи)%><label for="Показатели">Продажи</label></li>
                    </ul>
                </li>
            </ul>
            <hr />
            <ul id="ul-settings-dim" class="treeview-black dim">
            <li><img src="/Content/images/dim.bmp" /> Измерения
            <ul>                
                <li class="closed"><img src="/Content/images/dim.bmp" /> Клиенты
                     <ul>
                        <li class="closed"><img src="/Content/images/dim.bmp" /> Группировка
                            <ul>                
                                <li >
                                </li>                      
                            </ul>
                        </li> 
                        <li><%=Html.CheckBox("КлиентыSettings.Имя", Model.КлиентыSettings.Имя)%><label for="КлиентыSettings.Имя">Имя (название)</label></li>
                        <li><%=Html.CheckBox("КлиентыSettings.Описание", Model.КлиентыSettings.Описание)%><label for="КлиентыSettings.Описание">Описание</label></li>
                    </ul>
                </li>
                <li class="closed"><img src="/Content/images/dim.bmp" /> Сотрудники
                    <ul>                    
                        <li class="closed"><img src="/Content/images/dim.bmp" /> Группировка
                            <ul>       
                                <li >
                                    <%=Html.CheckBox("СотрудникиSettings.РабочиеМестаСотрудники", Model.СотрудникиSettings.РабочиеМестаСотрудники)%>
                                    <label for="СотрудникиSettings.РабочиеМестаСотрудники">Рабочие места</label>
                                </li>         
                                <%--<li>
                                    <%=Html.CheckBox("СотрудникиSettings.ПолномочияСотрудники", Model.СотрудникиSettings.ПолномочияСотрудники)%>
                                    <label for="СотрудникиSettings.ПолномочияСотрудники">Полномочия</label>
                                </li> --%>                                                                    
                            </ul>
                        </li>
                        <li><%=Html.CheckBox("СотрудникиSettings.Имя", Model.СотрудникиSettings.Имя)%><label for="СотрудникиSettings.Имя">ФИО</label></li>
                        <li><%=Html.CheckBox("СотрудникиSettings.ИмяПользователя", Model.СотрудникиSettings.ИмяПользователя)%><label for="СотрудникиSettings.ИмяПользователя">Имя Пользователя</label></li>
                        <li><%=Html.CheckBox("СотрудникиSettings.МестоРаботы", Model.СотрудникиSettings.МестоРаботы)%><label for="СотрудникиSettings.МестоРаботы">Место работы</label></li>
                        <li><%=Html.CheckBox("СотрудникиSettings.Полномочия", Model.СотрудникиSettings.Полномочия)%><label for="СотрудникиSettings.Полномочия">Полномочия</label></li>
                    </ul>
                </li>
                <li class="closed"><img src="/Content/images/dim.bmp" /> Время
                     <ul>                                            
                        <li><%=Html.CheckBox("ВремяSettings.День", Model.ВремяSettings.День)%><label for="ВремяSettings.День">День</label></li>
                        <li><%=Html.CheckBox("ВремяSettings.Месяц", Model.ВремяSettings.Месяц)%><label for="ВремяSettings.Месяц">Месяц</label></li>
                        <li><%=Html.CheckBox("ВремяSettings.Год", Model.ВремяSettings.Год)%><label for="ВремяSettings.Год">Год</label></li>
                    </ul>
                </li>
                <li class="closed"><img src="/Content/images/dim.bmp" /> Рабочие места
                     <ul>
                        <li class="closed"><img src="/Content/images/dim.bmp" /> Группировка
                            <ul>                
                                <li >
                                </li>                      
                            </ul>
                        </li> 
                        <li><%=Html.CheckBox("РабочиеМестаSettings.Название", Model.РабочиеМестаSettings.Название)%><label for="РабочиеМестаSettings.Название">Название</label></li>
                        <li><%=Html.CheckBox("РабочиеМестаSettings.ДопИнформация", Model.РабочиеМестаSettings.ДопИнформация)%><label for="РабочиеМестаSettings.ДопИнформация">Доп. информация</label></li>
                    </ul>
                </li>
            </ul>
            </li>
            </ul>
            <hr />
            <div class="text-center">
                <div style="display:block;">
                <img style="margin-left:0px;" src="/Content/images/arrow1.gif" alt="arrow" style="float:left;"/><br />
                <img src="/Content/images/arrow2.GIF" alt="arrow" style="float:left; clear:left;"/>
                <label style="float:left;">Область столбцов:</label><br />
                <%=Html.DropDownList("Измерение1", Model.GetDimList(Model.Измерение1), new { style = "float:left;" })%><br/>           
                <label style="float:left; clear:left;">Область строк: </label>&nbsp<br/>
                <%=Html.DropDownList("Измерение2", Model.GetDimList(Model.Измерение2), new { style = "float:left;" })%>  
                </div>             
                <br style="clear:left;"/><br/>
                <input type="button" value="Получить" class="button" id="btn-submit"/>&nbsp
                <input type="button" value="Печать" class="button" id="btn-submit-print"/>
            </div>
            <br style="clear:both;"/>
            <hr style="clear:both;"/>        
        </div>     
    <%} %>
         
         <div id="olap-content-main">
                <%=ViewData["OLAPTable"].ToString()%>
        </div>         
    </div>
<script type="text/javascript">
    jQuery.noConflict();
    jQuery(document).ready(function() {
        jQuery("#ul-settings-val").treeview();
        jQuery("#ul-settings-dim").treeview();
        jQuery("#FilterDateStart").mask("99-99-9999 00:00");
        jQuery("#FilterDateEnd").mask("99-99-9999 00:00");

        jQuery("#btn-submit").click(function() {
            jQuery.post("/Report/Olap", jQuery("#form-olap").serialize(), function(data) {
                jQuery("#olap-content-main").html(data);
            });
        });
        jQuery("#btn-submit-print").click(function() {
            jQuery("#form-olap").submit();            
            //window.open("/Report/OlapPrint?" + jQuery("#form-olap").serialize());
            return false;
        });
    });
  </script>

</asp:Content>

<asp:Content ID="Content3" ContentPlaceHolderID="HeadContent" runat="server">
    <link href="/Content/jquery.treeview.css" rel="stylesheet" type="text/css" />
    <script src="/Scripts/jquery.treeview.min.js" type="text/javascript"></script>
    <script src="/Scripts/jquery.maskedinput-1.2.2.min.js" type="text/javascript"></script>
</asp:Content>

<asp:Content ID="Content4" ContentPlaceHolderID="HintListPlaceHolder" runat="server">
<ul>
    <li>Сверху расположены фильтры, по которым Вы будете ограничивать результаты</li>
    <li>Измерение - одно из направлений, по которым "разворачиваются" данные. Пример - столбцы, строки.</li>
    <li>Слева находится список выбора отображаемых  результатов. Вы помечаете ту информацию, которую хотите видеть
    для каждого измерения.</li>
    <li>Итоги, название столбцов и основные данные помечены разными цветами</li>
    <li>Снизу слева, вы выбираете само измерение - по каким элементам "разворачивать" данные</li>
    <li>Не смущайтесь, если итоги по сотрудникам и общие итоги не совпадают.
    Из-за природы заказа, где упоминаются менеджер и исполнитель, продажи и кол-во заказов по сотрудникам будут превышать
    фактичнский итог. Но фактический ито (в правом нижнем углу) всегда полностью правелен без поправки на сотрудников</li>
</ul>
</asp:Content>
